The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
For the last three years, Euro-Par has included two separate lines of workshops on parallel programming models, languages and methods. The first has been devoted to the design of parallel languages and their semantics: Parallel languages, programming and semantics (Ian Foster, 1996), Parallel Languages (Ron Perrott, 1997), Parallel Programming Languages (Henk Sips, 1998). The second...
As task parallelism has been proven to be useful for applications like real-time signal processing, branch and bound problems, and multidisciplinary applications, the new standard HPF 2.0 of the data parallel language High Performance Fortran (HPF) provides approved extensions for task parallelism that allow nested task and data parallelism. Unfortunately, these extensions allow the spawning of tasks...
The SCOOPP (Scalable Object Oriented Parallel Programming) system is an hybrid compile and run-time system, that extracts parallelism, supports explicit parallelism and dynamically serialises parallel tasks in excess, to dynamically scale applications through a wide range of target platforms. This paper describes the run-time system of the current SCOOPP prototype - the ParC++ - and its mechanism...
Stream parallelism allows parallel programs to exploit the potential of executing different parts of the computation on distinct input data items. Stream parallelism can also exploit the concurrent evaluation of the same function on different input items. These techniques are usually named “pipelining” and “farming out”. The P3L language includes two stream parallel skeletons: the Pipe and the Farm...
This paper presents a system to produce efficient implementations of parallel array-based algorithms from high-level specifications. It is structured as a transformation through a series of progressively more detailed representations. This allows the use of high-level programming features without losing the fine control of low-level languages. During the transformation process, parallel implementation...
Condensed graphs are proposed as an intermediate representation for functional and imperative languages. This representation may be executed on a variety of architectures, implementing a multi-level Condensed Graphs abstract machine. This machine incorporates characteristics and feedback information of its underlying architecture and guides dynamic topological transformations of the representation...
The development of skeleton tools constitutes an alternative to cover the gap between current parallel architectures and sequential programmers. Its contruction involves formal models, paradigms and methologies. Based in the automata theory we have developed a formal model for Parallel Dynamic Programming over pipeline networks. This model makes up a paradigm which is the core of skeleton tools oriented...
We investigate here the programming effort and performance of a programming model which is a hybrid between shared memory and messagepassing. This model permits an easy implementation in shared memory, while still being able to benefit from performance advantages of message-passing for performance critical tasks. We have integrated message-passing with a software DSM system, and evaluated the programming...
This paper presents DAOS, a model for exploitation of And-and Or-parallelism in logic programs. DAOS assumes a physically distributed memory environment and a logically shared address space. Exploiting both major forms of implicit parallelism should serve a broadest range of applications. Besides, a model that uses a distributed memory environment provides scalability and can be implemented over a...
Write detection is essential in multiple writer protocols to identify writes to shared pages so that these writes can be correctly propagated. This paper studies different write detection schemes in a home-based software DSM system called JIAJIA. It compares the performance of three write detection schemes: the traditional virtual memory page fault write detection scheme which write-protects both...
Distributed Caml (D’Caml) is a distributed implementation of Caml, a dialect of ML. The compiler produces native code for diverse execution platforms. The distributed shared memory allows transmission and sharing of arbitrary ML objects including higher-order functions, exceptions, and mutable objects without affecting the sequential semantics of ML. The distributed garbage collector reclaims unused...
Many applications make use of hybrid programming models intermixing task and data parallelism in order to exploit modern architectures more efficiently. However, unbalanced computational load or idle times due to tasks that are blocked in I/O or waiting on results from other tasks can cause significant performance problems. Fortunately, such idle times can be overlapped with useful computation in...
Functional programs have long been recognized as attractive subjects of an implicit static parallelization because functional programming excludes artificial dependences, which would restrict parallelism. One central concept which makes functional programming a powerful paradigm is the higher-order function, which can have functions appearing in its arguments or result. We present an automatic method...
Executing a sequential implementation of an Neural Network (NN) generally induces a high cost in terms of computation time, including a large part for the learning phase. This cost together with the weak computation performance of a computer with regard to a human brain [3] make it difficult to test some complex large connectionist models, like some inspired from biological reality or some with a...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.